package JiHeUtil;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;

public class SetDemo {

	public static void main(String[] args) {
		treeSetDemo();
	}

	/**
	 * @描述：HashSet读取数据的顺序跟插进的顺序并没有对应关系。 @时间：下午3:58:21
	 * @开发者：稀饭 @测试：
	 * @param
	 */
	public static void hashSetDemo() {
		Set<String> set = new LinkedHashSet<String>();
		set = new HashSet<String>();
		set.add("5");
		set.add("2");
		set.add("2a");
		set.add("11");
		Iterator<String> iterator = set.iterator();
		while (iterator.hasNext()) {
			System.out.println(iterator.next());
		}
	}

	/**
	 * @描述： LinkedHashSet集合也是根据元素的hashCode值来决定元 素的存储位置，但和HashSet不同的是，它同时使用链表维护元素
	 * 的次序，这样使得元素看起来是以插入的顺序保存的。
	 * 
	 * @时间：下午3:55:40
	 * @开发者：稀饭
	 * @测试：通过
	 * @param
	 */
	public static void linkedHashSetDemo() {
		Set<String> set = new LinkedHashSet<String>();
		set.add("5");
		set.add("2");
		set.add("11");
		Iterator<String> iterator = set.iterator();
		while (iterator.hasNext()) {
			System.out.println(iterator.next());
		}
	}

	/**
	 * @描述： TreeSet实现了SortedSet接口，此接口主要用于排序操作，即实现此接口的子类都属于排序的子类
	 * 
	 * @时间：下午4:09:02
	 * @开发者：稀饭
	 * @测试：通过
	 * @param
	 */
	public static void treeSetDemo() {
		Set<String> set = new TreeSet<String>();
		set.add("5");
		set.add("2");
		set.add("3");
		set.add("13");
		set.add("11");
		Iterator<String> iterator = set.iterator();
		while (iterator.hasNext()) {
			System.out.println(iterator.next());
		}
	}
}
